package com.lxd.service;

import java.util.List;

import com.lxd.entity.dto.CommentDTO;
import com.lxd.entity.query.CommentQuery;
import com.lxd.entity.po.Comment;
import com.lxd.entity.vo.CommentVO;
import com.lxd.entity.vo.PaginationResultVO;


/**
 * 评论表 业务接口
 */
public interface CommentService {

	/**
	 * 根据条件查询列表
	 */
	List<Comment> findListByParam(CommentQuery param);
	List<CommentDTO> findListByParam2(CommentQuery param);

	/**
	 * 根据条件查询列表
	 */
	Integer findCountByParam(CommentQuery param);

	/**
	 * 分页查询
	 */
	PaginationResultVO<CommentVO> findListByPage(CommentQuery param);

	/**
	 * 管理段分页查询
	 */
	PaginationResultVO<CommentVO> AdminFindListByPage(CommentQuery param);

	/**
	 * 新增
	 */
	Integer add(Comment bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<Comment> listBean);

	/**
	 * 批量新增/修改
	 */
	Integer addOrUpdateBatch(List<Comment> listBean);

	/**
	 * 多条件更新
	 */
	Integer updateByParam(Comment bean,CommentQuery param);

	/**
	 * 多条件删除
	 */
	Integer deleteByParam(CommentQuery param);

	/**
	 * 根据Id查询对象
	 */
	Comment getCommentById(Long id);


	/**
	 * 根据Id修改
	 */
	Integer updateCommentById(CommentVO bean);


	/**
	 * 根据Id删除
	 */
	Integer deleteCommentById(Long id);


	/**
	 * 根据NewsIdAndActivityId查询对象
	 */
	Comment getCommentByNewsIdAndActivityId(Long newsId,Long activityId);


	/**
	 * 根据NewsIdAndActivityId修改
	 */
	Integer updateCommentByNewsIdAndActivityId(Comment bean,Long newsId,Long activityId);


	/**
	 * 根据NewsIdAndActivityId删除
	 */
	Integer deleteCommentByNewsIdAndActivityId(Long newsId,Long activityId);

	Integer updateLikeCountById(Long commentId,Long likeCount);

}